IHipAssetLoadTask is the base return type from any asset you want to HipAssetManager.load{X}. The loading, unless otherwise stated, is asynchronous. For simple games, most of the time you won't need to directly used LoadTask as currently the engine loads all the assets at startup to make it easier to prototype a game without needing to think about those tasks.
Maybe will be deprecated in future. This is common in web, but it is a pain to work with.
Usage:
OpenGL Renderer must implement IReloadable for when changing device orientation.
foreachAsset: void foreachAsset(T)(string assetPath)
Use @Asset instead of HipAsset.